The invention relates generally to a method and apparatus for implementing a discrete-time control system, and more specifically to an apparatus and method for implementing a pattern-based control system implemented via matrix chains.
Almost all control systems require that they be tuned in light of the system in which they are to be deployed. To illustrate, consider the most frequently used control system, the proportional-integral-derivative controller (xe2x80x9cPID controllerxe2x80x9d). A PID controller generates a control variable based upon the difference between a user-defined set point and a measured process variable. This difference is referred to as xe2x80x9cthe error.xe2x80x9d The control variable is typically converted into a signal that is used to drive a control device that influences the process variable.
A PID controller calculates its control variable by summing together three quantities: (1) the error multiplied by a first gain factor, Kp; (2) the integral of the error multiplied by a second gain factor, Ki; and (3) the derivative of the error multiplied by a third gain factor, Kd. The process of selecting the gain factors, Kp, Ki, and Kd, (referred to as xe2x80x9ctuningxe2x80x9d a PID controller) is a matter that influences how well the control system behaves. If a PID controller is not tuned properly, the process variable may be slow to arrive at the user-defined set point. Additionally, an untuned PID controller may produce undesirable results such as causing the process variable to oscillate excessively about the set point, causing the process variable to exhibit a steady-state error, or causing the process variable to become unstable.
The process of optimally tuning a PID controller is mathematically complex, and requires a great deal of field testing to ensure that the chosen gain factors cause the control system to function properly. In short, the process is expensive and time consuming.
The above-discussed problem regarding the need to tune a control system to function properly with the system in which it is deployed is common to almost all forms of control systems. Thus, as is made evident by the foregoing discussion, a need exists for a generic, self-tuning control system that can be deployed in wide variety of systems. A desirable embodiment of such a control system will be capable of learning to tune itself based upon its interaction with the system it is controlling.
Against this backdrop, the present invention has been developed. A method of controlling a system having a plurality of state variables, so as to drive a process variable to a set point, may be arrived at by execution of the following steps. Initially, a matrix chain comprised of a plurality of matrices, including a first matrix, at least one intermediate matrix, and a last matrix is established. Each matrix generates an output based upon a plurality of inputs. The inputs for the first matrix are state variables. For the at least one intermediate matrix, one input is the output from another matrix and another input is either a state variable or the output from another matrix. For the last matrix, at least one input is the output from another matrix, and the output of the last matrix is used to drive a control device that influences the process variable. The output is further used as an input to either the first matrix or one of the at least one intermediate matrices. The matrix chain initially exhibits a systemic degree of reflectivity that is a multiple of 360xc2x0. Throughout the duration of controlling the system, the state variables are input to the set of matrices. Finally, throughout the duration of controlling the system, the control device is driven with the output of the last matrix.
According to another embodiment of the invention, a processor is programmed to execute the above-described steps.
According to yet another embodiment of the invention, a method of controlling a system having a plurality of state variables, so as to drive a process variable to a set point, may be achieved by detecting the state variables of the system. Thereafter, the set of state variables are input to a matrix chain. The matrix chain is comprised of a plurality of matrices in which an output from one matrix in the chain is an input to a second matrix in the chain. At least one of the matrices initially exhibits symmetry. At least one matrix feeds its output to a rearward matrix of the matrix chain. A control device that influences the process variable is driven with the output of a matrix.
According to yet another embodiment of the invention, a processor is programmed to execute the above-described steps.
According to yet another embodiment of the invention, an application specific integrated circuit is arranged and configured to effectuate the above-described steps.